Collaboration on a common project by people at different locations has become more common. Indeed, companies may have engineers from many different geographical locations working as a team on a common project. To collaborate on the project, the individual members of the engineering team either travel to a common location or use computer networks. Historically, when using computer networks to collaborate, a single engineer will take the lead and transmit drawing images showing potential changes to the product design to other members of the team. The computer-network system of collaboration can be more efficient than attempting to bring all of the members of the collaboration group into a single conference room to crowd around a table and review a single design drawing as the group leader makes changes.
In certain collaborative projects, such as the design and manufacture of electro-mechanical products, all team members are generally working towards design and manufacture of the same product. However, the needs of their specific domain expertise may require each to use a different design abstraction (e.g., schematic for functionality, floor planner for constraint tradeoffs, layout for placement and routing, mechanical for design enclosures, DFM for conformance with manufacturing processes, etc.). This creates unique challenges when collaborating over a network because each participating domain expert may potentially be using a different application during a collaboration session and yet all want to simultaneously reference the same design.
Referring to FIG. 1, one example of a current approach to network-based design collaboration is shown. According to this approach, a single design application 10 is located on either a server 12 or a client 14 connected to a network 16. In the server-based implementation, the application 10 is hosted on a server 12 and all other participating clients 14 use the network (e.g., the Internet) to connect to it via a session hosted on the same server. One example of this approach has been implemented by Citrix Systems, Inc. In the client-based implementation, the application 10 is hosted on one of the clients 14 and all of the other participating clients 14 use the network 16 to connect to it via a session hosted on a remote server 12. One example of this approach has been implemented by WebEx Systems, Inc.
The server 12 includes a session manager 20 for managing connectivity and data traffic including transfer of the application images between the clients 14. Each of the clients 14 includes a session client process 22 that synchronizes user interaction and image display between the local client and the session. During a collaboration session, there is a flow of messages 24 for session controls that include the application images. Regardless of where the controlling design application 10 is hosted, each client 14 is allowed to interact with the application 10 in a way that enables other participants to see what is being done.
The above approach to network-based design collaboration has limitations. Because each user shares a single image from a single application, this approach is limited when the design activities involve simultaneous usage of different or heterogeneous design applications (e.g., different CAD tools). The sharing of a single application also presents licensing issues. The user license for the application may not allow multiple users of the application over the network, resulting in potential licensing violations. Also, the transmission of the actual images over the network presents security concerns. The unauthorized interception of messages exchanged during a collaborative session may result in the disclosure of confidential design drawings.
Accordingly, there is a need for a collaboration system and method that allows heterogeneous applications (e.g., different CAD tools) to be used and that does not require transmission of the design images.